/******************************************************************************
 * @File name   :      ITicketPriceOfDealerDao.java
 *
 * @Author      :      GUDONG
 *
 * @Date        :      2015年11月3日
 *
 * @Copyright Notice: 
 * Copyright (c) 2014 Capgemini, Inc. All  Rights Reserved.
 * This software is published under the terms of the Capgemini Software
 * License version 1.0, a copy of which has been included with this
 * distribution in the LICENSE.txt file.
 * 
 * 
 * ----------------------------------------------------------------------------
 * Date                   Who         Version        Comments
 * 2015年11月3日 下午9:15:28        GUDONG     1.0            Initial Version
 *****************************************************************************/
package com.cap.bts.crmdp.dealer.coupon.dao;

import java.math.BigInteger;
import java.util.List;

import com.cap.bts.crmdp.dealer.coupon.domain.TicketPriceOfDealer;
import com.cap.bts.framework.common.dao.IBaseDao;
import com.cap.bts.framework.common.exception.AppException;

/**
 *
 */
public interface ITicketPriceOfDealerDao extends IBaseDao<TicketPriceOfDealer, Long> {
    public void deleteTicketLinePriceByTicketLineId(Long ticketLineId)throws AppException;
    
    public void deletePackageAndTicketLine()throws AppException;
    
    public List<TicketPriceOfDealer> checkTicketLinePriceByTicketLineId(Long ticketLineId)throws AppException;
    
    public List<BigInteger> checkTicketLinePriceNotInPackagePriceByTicketLineId()throws AppException;
    
    public List<TicketPriceOfDealer> getTicketLinePriceByTicketLineIdAndDealerId(Long ticketLineId,Long dealerId)throws AppException;
    
    public List<BigInteger> getDealerId()throws AppException;
    
    public List<Object[]> getTicketDefIdAndDealerId()throws AppException;
    
    public List<Object[]> getPackageDefIdAndDealerId()throws AppException;
    /**
     * 获取地方性套餐价格
     * @Date        :      2015年11月19日
     * @param type
     * @return
     * @throws AppException
     */
    public List<TicketPriceOfDealer> getTicketPriceOfDealerByDealerAndPackageDefId(Long dealerId,Long packageDefId) throws AppException;
    
    /**
     * 根据dealerId, ticketLineId,objectType获取地方   提货券行   差异价格
     * @Date        :      2015年11月19日
     * @param dealerId
     * @param ticketLineId
     * @param objectType
     * @return
     * @throws AppException
     */
    public List<TicketPriceOfDealer> getTicketPriceOfDealerByDealerIdAndTicketLineIdAndObjType(Long dealerId, Long ticketLineId, String objectType) throws AppException;
}

